<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        promise是什么？有什么作用？ 怎么用？
        是什么？有什么作用？是一种异步编程的解决方案，因为传统的异步解决方法是回调函数的形式，
        传统的形式有什么缺点呢？当多个请求相互依赖的时候，需要在回调函数中进行嵌套请求，这样不利于理解，
        像这种很多嵌套的请求，我们叫“回调地狱”，所以promise的出现就解决了这个“回调地狱”的问题
        
     -->
     <script src="./my_axios.js"></script>
     <script>
        //  传统异步 请求
        // 1、实例化请求对象
        // var xhr = new XMLHttpRequest();
        // // 2、设置请求方式和请求地址
        // xhr.open("get","http://localhost:3000/category")
        // // 3、监听请求
        // xhr.addEventListener("readystatechange",()=>{
        //     // console.log(xhr);
        //     let res = JSON.parse(xhr.responseText);
        //     console.log(res);
        // })
        // // 4、发送请求
        // xhr.send()

        // promise的基础语法
        const p = new Promise(function(resolve,reject){
            // 写异步代码
            setTimeout(() => {
                // 经过一系列的代码请求，最终得到结果，这个结果用bool布尔值代替，
                // 当bool为true的时候表示成功，否则表示失败
                let bool = false;
                if(bool){
                    resolve("成功了！")
                }else{
                    reject("失败了！")
                }

            }, 1000);
        })

        p.then(res=>{
            console.log(49,res);
        }).catch(err=>{
            console.log(51,err);
        })

        // 请求栏目列表数据
        my_axios({
            url: "http://localhost:3000/category",
            method: "get"
        }).then(res=>{
            console.log(60,res);
        }).catch(err=>{
            console.log(62,err);
        })

     </script>
</body>
</html>